[INFO] fetching crate muxer 0.4.0...
[INFO] testing muxer-0.4.0 against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065-1
[INFO] extracting crate muxer 0.4.0 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate muxer 0.4.0
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate muxer 0.4.0
[INFO] tweaked toml for crates.io crate muxer 0.4.0 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate muxer 0.4.0 on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate muxer 0.4.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a353275d192ee998eca5c2841ade4588c1fed7b12cb7720a876d72d8593e49e3
[INFO] running `Command { std: "docker" "start" "-a" "a353275d192ee998eca5c2841ade4588c1fed7b12cb7720a876d72d8593e49e3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a353275d192ee998eca5c2841ade4588c1fed7b12cb7720a876d72d8593e49e3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a353275d192ee998eca5c2841ade4588c1fed7b12cb7720a876d72d8593e49e3", kill_on_drop: false }`
[INFO] [stdout] a353275d192ee998eca5c2841ade4588c1fed7b12cb7720a876d72d8593e49e3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7f27de88c2e205ada0a3a717fc20eafd37d3c4dae5490e222c063e6123729d75
[INFO] running `Command { std: "docker" "start" "-a" "7f27de88c2e205ada0a3a717fc20eafd37d3c4dae5490e222c063e6123729d75", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.42
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling pare v0.1.5
[INFO] [stderr]    Compiling logp v0.1.4
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling rand_distr v0.5.1
[INFO] [stderr]    Compiling muxer v0.4.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/monitor.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 155 |     pub metric: DriftMetric,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:235:9
[INFO] [stdout]     |
[INFO] [stdout] 235 | #![warn(missing_docs)]
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/monitor.rs:259:5
[INFO] [stdout]     |
[INFO] [stdout] 259 |     pub metric: DriftMetric,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/monitor.rs:349:1
[INFO] [stdout]     |
[INFO] [stdout] 349 | pub struct CatKlAlarm {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/monitor.rs:350:5
[INFO] [stdout]     |
[INFO] [stdout] 350 |     pub n: u64,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/monitor.rs:351:5
[INFO] [stdout]     |
[INFO] [stdout] 351 |     pub score: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/monitor.rs:352:5
[INFO] [stdout]     |
[INFO] [stdout] 352 |     pub threshold: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/monitor.rs:488:1
[INFO] [stdout]     |
[INFO] [stdout] 488 | pub struct CusumCatAlarm {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/monitor.rs:489:5
[INFO] [stdout]     |
[INFO] [stdout] 489 |     pub n: u64,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/monitor.rs:490:5
[INFO] [stdout]     |
[INFO] [stdout] 490 |     pub score: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/monitor.rs:491:5
[INFO] [stdout]     |
[INFO] [stdout] 491 |     pub threshold: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/monitor.rs:551:5
[INFO] [stdout]     |
[INFO] [stdout] 551 |     pub fn reset(&mut self) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/monitor.rs:556:5
[INFO] [stdout]     |
[INFO] [stdout] 556 |     pub fn n(&self) -> u64 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/monitor.rs:560:5
[INFO] [stdout]     |
[INFO] [stdout] 560 |     pub fn score(&self) -> f64 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]     --> src/monitor.rs:1067:5
[INFO] [stdout]      |
[INFO] [stdout] 1067 |     pub ok_rate: f64,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]     --> src/monitor.rs:1068:5
[INFO] [stdout]      |
[INFO] [stdout] 1068 |     pub ok_half: f64,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]     --> src/monitor.rs:1069:5
[INFO] [stdout]      |
[INFO] [stdout] 1069 |     pub junk_rate: f64,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]     --> src/monitor.rs:1070:5
[INFO] [stdout]      |
[INFO] [stdout] 1070 |     pub junk_half: f64,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]     --> src/monitor.rs:1071:5
[INFO] [stdout]      |
[INFO] [stdout] 1071 |     pub hard_junk_rate: f64,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]     --> src/monitor.rs:1072:5
[INFO] [stdout]      |
[INFO] [stdout] 1072 |     pub hard_junk_half: f64,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]     --> src/monitor.rs:1075:1
[INFO] [stdout]      |
[INFO] [stdout] 1075 | pub fn adjusted_rates(summary: Summary, cfg: UncertaintyConfig) -> AdjustedRates {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/sticky.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub cfg: StickyConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/sticky.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn new(cfg: StickyConfig) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.50s
[INFO] running `Command { std: "docker" "inspect" "7f27de88c2e205ada0a3a717fc20eafd37d3c4dae5490e222c063e6123729d75", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7f27de88c2e205ada0a3a717fc20eafd37d3c4dae5490e222c063e6123729d75", kill_on_drop: false }`
[INFO] [stdout] 7f27de88c2e205ada0a3a717fc20eafd37d3c4dae5490e222c063e6123729d75
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6267817c728bb28effa7cc7d7a39a3807dff7a8e1fe5f07917d684989f7bedc7
[INFO] running `Command { std: "docker" "start" "-a" "6267817c728bb28effa7cc7d7a39a3807dff7a8e1fe5f07917d684989f7bedc7", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.42
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling zerocopy-derive v0.8.42
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling criterion-plot v0.6.0
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling logp v0.1.4
[INFO] [stderr]    Compiling pare v0.1.5
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling criterion v0.7.0
[INFO] [stderr]    Compiling rand_distr v0.5.1
[INFO] [stderr]    Compiling proptest v1.10.0
[INFO] [stderr]    Compiling muxer v0.4.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/monitor.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 155 |     pub metric: DriftMetric,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:235:9
[INFO] [stdout]     |
[INFO] [stdout] 235 | #![warn(missing_docs)]
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/monitor.rs:259:5
[INFO] [stdout]     |
[INFO] [stdout] 259 |     pub metric: DriftMetric,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/monitor.rs:349:1
[INFO] [stdout]     |
[INFO] [stdout] 349 | pub struct CatKlAlarm {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/monitor.rs:350:5
[INFO] [stdout]     |
[INFO] [stdout] 350 |     pub n: u64,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/monitor.rs:351:5
[INFO] [stdout]     |
[INFO] [stdout] 351 |     pub score: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/monitor.rs:352:5
[INFO] [stdout]     |
[INFO] [stdout] 352 |     pub threshold: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/monitor.rs:488:1
[INFO] [stdout]     |
[INFO] [stdout] 488 | pub struct CusumCatAlarm {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/monitor.rs:489:5
[INFO] [stdout]     |
[INFO] [stdout] 489 |     pub n: u64,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/monitor.rs:490:5
[INFO] [stdout]     |
[INFO] [stdout] 490 |     pub score: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/monitor.rs:491:5
[INFO] [stdout]     |
[INFO] [stdout] 491 |     pub threshold: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/monitor.rs:551:5
[INFO] [stdout]     |
[INFO] [stdout] 551 |     pub fn reset(&mut self) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/monitor.rs:556:5
[INFO] [stdout]     |
[INFO] [stdout] 556 |     pub fn n(&self) -> u64 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/monitor.rs:560:5
[INFO] [stdout]     |
[INFO] [stdout] 560 |     pub fn score(&self) -> f64 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]     --> src/monitor.rs:1067:5
[INFO] [stdout]      |
[INFO] [stdout] 1067 |     pub ok_rate: f64,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]     --> src/monitor.rs:1068:5
[INFO] [stdout]      |
[INFO] [stdout] 1068 |     pub ok_half: f64,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]     --> src/monitor.rs:1069:5
[INFO] [stdout]      |
[INFO] [stdout] 1069 |     pub junk_rate: f64,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]     --> src/monitor.rs:1070:5
[INFO] [stdout]      |
[INFO] [stdout] 1070 |     pub junk_half: f64,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]     --> src/monitor.rs:1071:5
[INFO] [stdout]      |
[INFO] [stdout] 1071 |     pub hard_junk_rate: f64,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]     --> src/monitor.rs:1072:5
[INFO] [stdout]      |
[INFO] [stdout] 1072 |     pub hard_junk_half: f64,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]     --> src/monitor.rs:1075:1
[INFO] [stdout]      |
[INFO] [stdout] 1075 | pub fn adjusted_rates(summary: Summary, cfg: UncertaintyConfig) -> AdjustedRates {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/sticky.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub cfg: StickyConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/sticky.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn new(cfg: StickyConfig) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> examples/router_quickstart.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 |     rd.remove_arm("old-b");
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 153 |     let _ = rd.remove_arm("old-b");
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/monitor.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 155 |     pub metric: DriftMetric,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:235:9
[INFO] [stdout]     |
[INFO] [stdout] 235 | #![warn(missing_docs)]
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/monitor.rs:259:5
[INFO] [stdout]     |
[INFO] [stdout] 259 |     pub metric: DriftMetric,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/monitor.rs:349:1
[INFO] [stdout]     |
[INFO] [stdout] 349 | pub struct CatKlAlarm {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/monitor.rs:350:5
[INFO] [stdout]     |
[INFO] [stdout] 350 |     pub n: u64,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/monitor.rs:351:5
[INFO] [stdout]     |
[INFO] [stdout] 351 |     pub score: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/monitor.rs:352:5
[INFO] [stdout]     |
[INFO] [stdout] 352 |     pub threshold: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/monitor.rs:488:1
[INFO] [stdout]     |
[INFO] [stdout] 488 | pub struct CusumCatAlarm {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/monitor.rs:489:5
[INFO] [stdout]     |
[INFO] [stdout] 489 |     pub n: u64,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/monitor.rs:490:5
[INFO] [stdout]     |
[INFO] [stdout] 490 |     pub score: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/monitor.rs:491:5
[INFO] [stdout]     |
[INFO] [stdout] 491 |     pub threshold: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/monitor.rs:551:5
[INFO] [stdout]     |
[INFO] [stdout] 551 |     pub fn reset(&mut self) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/monitor.rs:556:5
[INFO] [stdout]     |
[INFO] [stdout] 556 |     pub fn n(&self) -> u64 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/monitor.rs:560:5
[INFO] [stdout]     |
[INFO] [stdout] 560 |     pub fn score(&self) -> f64 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]     --> src/monitor.rs:1067:5
[INFO] [stdout]      |
[INFO] [stdout] 1067 |     pub ok_rate: f64,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]     --> src/monitor.rs:1068:5
[INFO] [stdout]      |
[INFO] [stdout] 1068 |     pub ok_half: f64,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]     --> src/monitor.rs:1069:5
[INFO] [stdout]      |
[INFO] [stdout] 1069 |     pub junk_rate: f64,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]     --> src/monitor.rs:1070:5
[INFO] [stdout]      |
[INFO] [stdout] 1070 |     pub junk_half: f64,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]     --> src/monitor.rs:1071:5
[INFO] [stdout]      |
[INFO] [stdout] 1071 |     pub hard_junk_rate: f64,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]     --> src/monitor.rs:1072:5
[INFO] [stdout]      |
[INFO] [stdout] 1072 |     pub hard_junk_half: f64,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a function
[INFO] [stdout]     --> src/monitor.rs:1075:1
[INFO] [stdout]      |
[INFO] [stdout] 1075 | pub fn adjusted_rates(summary: Summary, cfg: UncertaintyConfig) -> AdjustedRates {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/sticky.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub cfg: StickyConfig,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/sticky.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn new(cfg: StickyConfig) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 21.96s
[INFO] running `Command { std: "docker" "inspect" "6267817c728bb28effa7cc7d7a39a3807dff7a8e1fe5f07917d684989f7bedc7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6267817c728bb28effa7cc7d7a39a3807dff7a8e1fe5f07917d684989f7bedc7", kill_on_drop: false }`
[INFO] [stdout] 6267817c728bb28effa7cc7d7a39a3807dff7a8e1fe5f07917d684989f7bedc7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 138866aa2f5d1dabe1e950aaea97473fe09ed61a2224f0775b19e08b4cb4d107
[INFO] running `Command { std: "docker" "start" "-a" "138866aa2f5d1dabe1e950aaea97473fe09ed61a2224f0775b19e08b4cb4d107", kill_on_drop: false }`
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/monitor.rs:155:5
[INFO] [stderr]     |
[INFO] [stderr] 155 |     pub metric: DriftMetric,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]    --> src/lib.rs:235:9
[INFO] [stderr]     |
[INFO] [stderr] 235 | #![warn(missing_docs)]
[INFO] [stderr]     |         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/monitor.rs:259:5
[INFO] [stderr]     |
[INFO] [stderr] 259 |     pub metric: DriftMetric,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]    --> src/monitor.rs:349:1
[INFO] [stderr]     |
[INFO] [stderr] 349 | pub struct CatKlAlarm {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/monitor.rs:350:5
[INFO] [stderr]     |
[INFO] [stderr] 350 |     pub n: u64,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/monitor.rs:351:5
[INFO] [stderr]     |
[INFO] [stderr] 351 |     pub score: f64,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/monitor.rs:352:5
[INFO] [stderr]     |
[INFO] [stderr] 352 |     pub threshold: f64,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]    --> src/monitor.rs:488:1
[INFO] [stderr]     |
[INFO] [stderr] 488 | pub struct CusumCatAlarm {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/monitor.rs:489:5
[INFO] [stderr]     |
[INFO] [stderr] 489 |     pub n: u64,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/monitor.rs:490:5
[INFO] [stderr]     |
[INFO] [stderr] 490 |     pub score: f64,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/monitor.rs:491:5
[INFO] [stderr]     |
[INFO] [stderr] 491 |     pub threshold: f64,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/monitor.rs:551:5
[INFO] [stderr]     |
[INFO] [stderr] 551 |     pub fn reset(&mut self) {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/monitor.rs:556:5
[INFO] [stderr]     |
[INFO] [stderr] 556 |     pub fn n(&self) -> u64 {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/monitor.rs:560:5
[INFO] [stderr]     |
[INFO] [stderr] 560 |     pub fn score(&self) -> f64 {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]     --> src/monitor.rs:1067:5
[INFO] [stderr]      |
[INFO] [stderr] 1067 |     pub ok_rate: f64,
[INFO] [stderr]      |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]     --> src/monitor.rs:1068:5
[INFO] [stderr]      |
[INFO] [stderr] 1068 |     pub ok_half: f64,
[INFO] [stderr]      |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]     --> src/monitor.rs:1069:5
[INFO] [stderr]      |
[INFO] [stderr] 1069 |     pub junk_rate: f64,
[INFO] [stderr]      |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]     --> src/monitor.rs:1070:5
[INFO] [stderr]      |
[INFO] [stderr] 1070 |     pub junk_half: f64,
[INFO] [stderr]      |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]     --> src/monitor.rs:1071:5
[INFO] [stderr]      |
[INFO] [stderr] 1071 |     pub hard_junk_rate: f64,
[INFO] [stderr]      |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]     --> src/monitor.rs:1072:5
[INFO] [stderr]      |
[INFO] [stderr] 1072 |     pub hard_junk_half: f64,
[INFO] [stderr]      |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a function
[INFO] [stderr]     --> src/monitor.rs:1075:1
[INFO] [stderr]      |
[INFO] [stderr] 1075 | pub fn adjusted_rates(summary: Summary, cfg: UncertaintyConfig) -> AdjustedRates {
[INFO] [stderr]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/sticky.rs:75:5
[INFO] [stderr]    |
[INFO] [stderr] 75 |     pub cfg: StickyConfig,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stderr]   --> src/sticky.rs:81:5
[INFO] [stderr]    |
[INFO] [stderr] 81 |     pub fn new(cfg: StickyConfig) -> Self {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `muxer` (lib) generated 22 warnings
[INFO] [stderr] warning: `muxer` (lib test) generated 22 warnings (22 duplicates)
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> examples/router_quickstart.rs:153:5
[INFO] [stderr]     |
[INFO] [stderr] 153 |     rd.remove_arm("old-b");
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 153 |     let _ = rd.remove_arm("old-b");
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `muxer` (example "router_quickstart") generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.17s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/muxer-c5695945ef3497ed)
[INFO] [stdout] 
[INFO] [stdout] running 155 tests
[INFO] [stdout] test alloc::tests::softmax_sums_to_one ... ok
[INFO] [stdout] test control::tests::pick_control_arms_disabled ... ok
[INFO] [stdout] test control::tests::pick_control_arms_subset_of_arms ... ok
[INFO] [stdout] test control::tests::pick_control_arms_unique ... ok
[INFO] [stdout] test exp3ix::tests::ensure_arms_resets_state_on_arm_set_change ... ok
[INFO] [stdout] test exp3ix::tests::ess_is_k_when_uniform ... ok
[INFO] [stdout] test control::tests::control_config_fraction ... ok
[INFO] [stdout] test control::tests::pick_control_arms_deterministic ... ok
[INFO] [stdout] test exp3ix::tests::exp3ix_can_outperform_mab_when_reward_is_graded_but_success_is_constant ... ok
[INFO] [stdout] test exp3ix::tests::effective_arms_decreases_with_convergence ... ok
[INFO] [stdout] test exp3ix::tests::entropy_bounds ... ok
[INFO] [stdout] test control::tests::pick_control_arms_respects_k ... ok
[INFO] [stdout] test control::tests::split_control_always_leaves_mab_budget ... ok
[INFO] [stdout] test coverage::tests::coverage_pick_idx_matches_string_when_deficits_are_distinct ... ok
[INFO] [stdout] test exp3ix::tests::deterministic_given_same_seed_and_updates ... ok
[INFO] [stdout] test exp3ix::tests::ess_decreases_as_policy_converges ... ok
[INFO] [stdout] test exp3ix::tests::explores_each_arm_once_in_order ... ok
[INFO] [stdout] test exp3ix::tests::probabilities_sum_to_one ... ok
[INFO] [stdout] test exp3ix::tests::snapshot_restore_handles_corrupted_state ... ok
[INFO] [stdout] test harness::tests::guardrail_filter_observed_filters_and_falls_back ... ok
[INFO] [stdout] test harness::tests::guardrail_first_blocks_unseen_with_require_measured ... ok
[INFO] [stdout] test harness::tests::guardrail_first_all_unmeasured_stops_early ... ok
[INFO] [stdout] test harness::tests::novelty_first_guardrail_applies_to_remainder ... ok
[INFO] [stdout] test harness::tests::guardrail_first_stop_early_halts_fill ... ok
[INFO] [stdout] test harness::tests::novelty_first_unseen_bypasses_require_measured ... ok
[INFO] [stdout] test exp3ix::tests::snapshot_restore_round_trip ... ok
[INFO] [stdout] test monitor::tests::calibrate_threshold_from_max_scores_picks_expected_grid_point ... ok
[INFO] [stdout] test harness::tests::policy_fill_generic_prechosen_fills_without_algorithm ... ok
[INFO] [stdout] test harness::tests::guardrail_filter_observed_strict_returns_empty_no_fallback ... ok
[INFO] [stdout] test harness::tests::policy_fill_generic_combines_prechosen_and_algorithm ... ok
[INFO] [stdout] test monitor::tests::calibrate_threshold_from_max_scores_grid_satisfied_implies_constraint_holds ... ok
[INFO] [stdout] test monitor::tests::calibrate_threshold_from_max_scores_reports_unsatisfied_grid ... ok
[INFO] [stdout] test monitor::tests::cusum_cat_bank_matches_max_of_two_detectors ... ok
[INFO] [stdout] test monitor::tests::catkl_detector_triggers_on_strong_shift ... ok
[INFO] [stdout] test monitor::tests::calibrate_threshold_from_max_scores_wilson_is_more_conservative_than_empirical ... ok
[INFO] [stdout] test monitor::tests::catkl_detector_stays_near_zero_when_empirical_matches_baseline_uniform ... ok
[INFO] [stdout] test monitor::tests::cusum_cat_bank_reset_clears_n_and_score ... ok
[INFO] [stdout] test coverage::tests::coverage_pick_idx_is_deterministic_and_valid ... ok
[INFO] [stdout] test monitor::tests::cusum_delay_scales_inversely_with_sampling_rate ... ok
[INFO] [stdout] test monitor::tests::cusum_detection_delay_matches_formula ... ok
[INFO] [stdout] test monitor::tests::cusum_triggers_on_persistent_positive_llr_stream ... ok
[INFO] [stdout] test monitor::tests::drift_between_windows_is_zero_for_identical ... ok
[INFO] [stdout] test monitor::tests::cusum_score_monotone_under_positive_llr ... ok
[INFO] [stdout] test monitor::tests::apply_rate_bound_upper_ge_lower ... ok
[INFO] [stdout] test monitor::tests::detection_mse_ratio_is_constant ... ok
[INFO] [stdout] test monitor::tests::drift_between_windows_increases_when_distributions_differ ... ok
[INFO] [stdout] test monitor::tests::cusum_cat_bank_matches_single_detector ... ok
[INFO] [stdout] test monitor::tests::cusum_cat_bank_rejects_empty_alts ... ok
[INFO] [stdout] test monitor::tests::product_bound_regret_times_delay_is_constant ... ok
[INFO] [stdout] test monitor::threshold_tests::catkl_infinite_threshold_never_alarms ... ok
[INFO] [stdout] test monitor::threshold_tests::cusum_infinite_threshold_never_alarms ... ok
[INFO] [stdout] test novelty::tests::deterministic_given_seed ... ok
[INFO] [stdout] test novelty::tests::pick_random_subset_basic ... ok
[INFO] [stdout] test novelty::tests::pick_random_subset_deterministic ... ok
[INFO] [stdout] test novelty::tests::pick_random_subset_empty ... ok
[INFO] [stdout] test novelty::tests::picks_unseen_only ... ok
[INFO] [stdout] test novelty::tests::returns_empty_when_all_seen ... ok
[INFO] [stdout] test novelty::tests::returns_empty_when_disabled ... ok
[INFO] [stdout] test novelty::tests::truncates_to_k ... ok
[INFO] [stdout] test monitor::tests::wilson_bounds_are_ordered_and_bounded ... ok
[INFO] [stdout] test policy::tests::bandit_policy_returns_none_on_empty_arms ... ok
[INFO] [stdout] test policy::tests::bandit_policy_decide_returns_member_of_arms ... ok
[INFO] [stdout] test policy::tests::thompson_implements_bandit_policy ... ok
[INFO] [stdout] test prior::tests::adds_pseudo_counts ... ok
[INFO] [stdout] test prior::tests::invariant_counts_do_not_exceed_calls ... ok
[INFO] [stdout] test prior::tests::no_op_when_already_at_target ... ok
[INFO] [stdout] test prior::tests::no_op_when_prior_empty ... ok
[INFO] [stdout] test prior::tests::no_op_when_target_zero ... ok
[INFO] [stdout] test prior::tests::prior_blends_quality_score_weighted_by_calls ... ok
[INFO] [stdout] test prior::tests::prior_inherits_quality_score_when_out_has_none ... ok
[INFO] [stdout] test monitor::tests::wilson_half_width_shrinks_with_more_trials_at_half_success ... ok
[INFO] [stdout] test monitor::tests::wilson_bounds_contain_empirical_rate ... ok
[INFO] [stdout] test policy::tests::exp3ix_implements_bandit_policy ... ok
[INFO] [stdout] test prior::tests::prior_quality_none_does_not_overwrite ... ok
[INFO] [stdout] test router::tests::router_acknowledge_change_resets_triage ... ok
[INFO] [stdout] test router::tests::router_control_picks_are_subset_of_chosen ... ok
[INFO] [stdout] test router::tests::router_acknowledge_promotes_recent_to_baseline ... ok
[INFO] [stdout] test router::tests::router_add_arm_is_explored_next ... ok
[INFO] [stdout] test router::tests::router_explores_unseen_arm_before_exploitation ... ok
[INFO] [stdout] test router::tests::router_monitoring_windows_exist_when_enabled ... ok
[INFO] [stdout] test router::tests::router_prefers_better_arm_after_enough_data ... ok
[INFO] [stdout] test router::tests::router_remove_arm_not_selected ... ok
[INFO] [stdout] test router::tests::router_observe_increments_total ... ok
[INFO] [stdout] test monitor::tests::drift_metrics_are_symmetric ... ok
[INFO] [stdout] test router::tests::router_select_is_deterministic ... ok
[INFO] [stdout] test router::tests::router_select_never_returns_more_than_k ... ok
[INFO] [stdout] test router::tests::router_select_multi_pick_unique ... ok
[INFO] [stdout] test router::tests::router_select_returns_member_of_arms ... ok
[INFO] [stdout] test stable_hash::tests::deterministic ... ok
[INFO] [stdout] test router::tests::router_large_k_covers_all_arms_with_multi_pick ... ok
[INFO] [stdout] test stable_hash::tests::empty_string_works ... ok
[INFO] [stdout] test router::tests::router_triage_detects_hard_failure_arm ... ok
[INFO] [stdout] test stable_hash::tests::u01_from_seed_range ... ok
[INFO] [stdout] test tests::constraints_can_exclude_high_hard_junk_arm ... ok
[INFO] [stdout] test stable_hash::tests::different_strings_differ ... ok
[INFO] [stdout] test stable_hash::tests::different_seeds_differ ... ok
[INFO] [stdout] test sticky::tests::sticky_never_returns_arm_not_in_candidates ... ok
[INFO] [stdout] test tests::constraints_filter_arms_but_never_return_empty ... ok
[INFO] [stdout] test tests::select_mab_chosen_satisfies_constraints_when_eligible_exists ... ok
[INFO] [stdout] test tests::select_mab_is_deterministic_and_prefers_lower_junk_all_else_equal ... ok
[INFO] [stdout] test tests::sticky_mab_follows_base_choice_if_previous_missing_from_candidates ... ok
[INFO] [stdout] test tests::sticky_mab_respects_min_dwell ... ok
[INFO] [stdout] test tests::sticky_mab_respects_min_switch_margin ... ok
[INFO] [stdout] test thompson::tests::deterministic_first_choice_given_same_seed_and_state ... ok
[INFO] [stdout] test thompson::tests::explores_each_arm_once_in_order ... ok
[INFO] [stdout] test coverage::tests::coverage_pick_is_deterministic ... ok
[INFO] [stdout] test monitor::tests::cusum_never_alarms_when_p1_equals_p0 ... ok
[INFO] [stdout] test monitor::tests::triangle_inequality_holds_for_metrics ... ok
[INFO] [stdout] test monitor::tests::drift_bounds_hold ... ok
[INFO] [stdout] test thompson::tests::snapshot_restore_round_trip ... ok
[INFO] [stdout] test thompson::tests::snapshot_restore_skips_corrupted_arms ... ok
[INFO] [stdout] test tests::select_mab_never_panics_and_returns_member_of_arms ... ok
[INFO] [stdout] test tests::select_mab_ignores_summaries_for_unknown_arms ... ok
[INFO] [stdout] test thompson::tests::update_reward_moves_expected_value ... ok
[INFO] [stdout] test thompson::tests::variance_known_values ... ok
[INFO] [stdout] test triage::tests::cell_tracker_populated_after_observe ... ok
[INFO] [stdout] test tests::select_mab_explores_first_zero_call_arm ... ok
[INFO] [stdout] test triage::tests::hard_junk_flood_triggers_alarm ... ok
[INFO] [stdout] test triage::tests::observe_returns_none_for_unknown_arm ... ok
[INFO] [stdout] test triage::tests::outcome_idx_mapping ... ok
[INFO] [stdout] test triage::tests::reset_arm_clears_alarm ... ok
[INFO] [stdout] test triage::tests::top_alarmed_cells_targets_bad_arm ... ok
[INFO] [stdout] test triage::tests::top_cells_empty_when_no_bins ... ok
[INFO] [stdout] test utils::tests::suggested_window_cap_decreases_with_higher_change_rate ... ok
[INFO] [stdout] test utils::tests::suggested_window_cap_increases_with_throughput ... ok
[INFO] [stdout] test utils::tests::suggested_window_cap_is_clamped ... ok
[INFO] [stdout] test worst_first::tests::context_bin_clamps_nonfinite ... ok
[INFO] [stdout] test worst_first::tests::context_bin_differs_for_different_contexts ... ok
[INFO] [stdout] test worst_first::tests::context_bin_is_deterministic ... ok
[INFO] [stdout] test worst_first::tests::context_bin_single_level_all_same ... ok
[INFO] [stdout] test worst_first::tests::contextual_empty_bins_returns_none ... ok
[INFO] [stdout] test worst_first::tests::contextual_pick_k_deterministic ... ok
[INFO] [stdout] test worst_first::tests::contextual_pick_k_returns_unique_bins ... ok
[INFO] [stdout] test worst_first::tests::contextual_picks_unseen_cell_first ... ok
[INFO] [stdout] test worst_first::tests::contextual_prefers_worst_cell ... ok
[INFO] [stdout] test worst_first::tests::deterministic_given_seed ... ok
[INFO] [stdout] test worst_first::tests::pick_k_empty_arms ... ok
[INFO] [stdout] test worst_first::tests::pick_k_returns_at_most_k ... ok
[INFO] [stdout] test worst_first::tests::picks_unseen_first ... ok
[INFO] [stdout] test worst_first::tests::prefers_highest_badness ... ok
[INFO] [stdout] test monitor::tests::calibrate_threshold_from_max_scores_is_monotone_in_alpha ... ok
[INFO] [stdout] test triage::tests::new_session_no_alarms ... ok
[INFO] [stdout] test thompson::tests::probability_best_concentrates_on_better_arm ... ok
[INFO] [stdout] test router::tests::router_large_k_with_coverage_prevents_starvation ... ok
[INFO] [stdout] test thompson::tests::probability_best_deterministic_with_same_seed ... ok
[INFO] [stdout] test exp3ix::tests::exp3ix_is_deterministic_with_seed_for_select_with_probs ... ok
[INFO] [stdout] test alloc::tests::softmax_map_is_a_distribution ... ok
[INFO] [stdout] test alloc::tests::softmax_map_handles_extreme_scores ... ok
[INFO] [stdout] test thompson::tests::probability_best_uniform_prior_is_roughly_equal ... ok
[INFO] [stdout] test exp3ix::tests::exp3ix_uncertainty_metrics_are_well_formed ... ok
[INFO] [stdout] test exp3ix::tests::exp3ix_probs_are_well_formed_and_choice_is_member ... ok
[INFO] [stdout] test thompson::tests::thompson_allocation_is_a_distribution_and_deterministic ... ok
[INFO] [stdout] test exp3ix::tests::exp3ix_decay_keeps_probs_well_formed ... ok
[INFO] [stdout] test thompson::tests::thompson_decay_stays_finite_under_many_updates ... ok
[INFO] [stdout] test thompson::tests::probability_best_is_a_distribution ... ok
[INFO] [stderr]      Running tests/calibration.rs (/opt/rustwide/target/debug/deps/calibration-d1fad5022abe458c)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 155 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.10s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test null_max_scores_are_non_negative ... ok
[INFO] [stdout] test null_max_scores_are_deterministic ... ok
[INFO] [stdout] test calibrate_from_scores_empty_grid_returns_unsatisfied ... ok
[INFO] [stdout] test calibrate_from_scores_impossible_constraint_not_satisfied ... ok
[INFO] [stdout] test null_max_scores_returns_n_trials_values ... ok
[INFO] [stdout] test calibrate_from_scores_finds_correct_threshold ... ok
[INFO] [stdout] test calibrate_threshold_produces_valid_output ... ok
[INFO] [stdout] test calibrate_threshold_stricter_alpha_gives_higher_threshold ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/e2e_metrics.rs (/opt/rustwide/target/debug/deps/e2e_metrics-449df1e9915c11a6)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test constraints_hold_in_windowed_summary_when_one_arm_is_bad ... ok
[INFO] [stdout] test sticky_bounds_switch_rate_in_stable_environment ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/frontier_constraint_props.rs (/opt/rustwide/target/debug/deps/frontier_constraint_props-4da644c0e2e496dd)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test outcome_new_enforces_hard_junk_implies_junk ... ok
[INFO] [stdout] test outcome_with_quality_enforces_invariants ... ok
[INFO] [stdout] test chosen_is_on_frontier ... ok
[INFO] [stdout] test constrained_selection_respects_or_falls_back ... ok
[INFO] [stderr]      Running tests/monitored_props.rs (/opt/rustwide/target/debug/deps/monitored_props-9fad4c1296d6d82f)
[INFO] [stdout] test frontier_is_non_dominated ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test coverage_stage_can_bypass_require_measured_guardrail_when_it_fills_k ... ok
[INFO] [stdout] test cusum_guard_filters_shifted_arm_when_threshold_is_tight ... ok
[INFO] [stdout] test coverage_stage_can_force_sampling_of_under_sampled_arm ... ok
[INFO] [stdout] test novelty_guardrail_first_respects_require_measured ... ok
[INFO] [stdout] test drift_guard_filters_changed_arm_when_threshold_is_tight ... ok
[INFO] [stdout] test coverage_guardrail_first_respects_require_measured ... ok
[INFO] [stdout] test novelty_stage_can_bypass_require_measured_guardrail_when_it_fills_k ... ok
[INFO] [stdout] test cusum_guard_threshold_is_monotone_when_no_fallback ... ok
[INFO] [stdout] test catkl_guard_threshold_is_monotone_when_no_fallback ... ok
[INFO] [stdout] test monitored_explain_delegation_is_identity ... ok
[INFO] [stdout] test drift_guard_threshold_is_monotone_when_no_fallback ... ok
[INFO] [stdout] test monitored_selection_is_deterministic_and_returns_member ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.43s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/objective_manifold.rs (/opt/rustwide/target/debug/deps/objective_manifold-19e1cb44a0033276)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test ehrgott_nickel_three_arms_two_dof ... ok
[INFO] [stdout] test non_contextual_collapse_mse_detection_proportional ... ok
[INFO] [stdout] test product_bound_is_constant_across_allocations ... ok
[INFO] [stdout] test non_contextual_sensitivity_rank_is_one ... ok
[INFO] [stdout] test uniform_spacing_minimizes_worst_case_delay ... ok
[INFO] [stdout] test bridge_muxer_cusum_to_pare_sensitivity ... ok
[INFO] [stdout] test saturation_two_arms_one_dof ... ok
[INFO] [stdout] test ids_information_gains_proportional_non_contextual ... ok
[INFO] [stdout] test k3_m9_eight_objectives_rank_and_spectrum ... ok
[INFO] [stdout] test product_bound_tradeoff_table ... ok
[INFO] [stdout] test lai_robbins_forces_minimum_exploration ... ok
[INFO] [stderr]      Running tests/outcome_invariants.rs (/opt/rustwide/target/debug/deps/outcome_invariants-a1fc4d3e84d3b3cc)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 18 tests
[INFO] [stdout] test mean_quality_score_returns_none_with_no_scores ... ok
[INFO] [stdout] test select_mab_zero_exploration_prefers_lower_junk_on_tiebreak ... ok
[INFO] [stdout] test select_mab_zero_exploration_selects_highest_ok_rate ... ok
[INFO] [stdout] test quality_weight_influences_arm_selection ... ok
[INFO] [stdout] test set_last_junk_level_both_set_when_both_true ... ok
[INFO] [stdout] test set_last_junk_level_hard_junk_cleared_when_junk_false ... ok
[INFO] [stdout] test set_last_junk_level_soft_junk_only ... ok
[INFO] [stdout] test mean_quality_score_averages_set_scores ... ok
[INFO] [stdout] test coverage_picks_are_subset_of_arms ... ok
[INFO] [stdout] test set_last_quality_score_clamps_and_updates ... ok
[INFO] [stdout] test wilson_half_width_is_non_negative_finite ... ok
[INFO] [stdout] test quality_weight_is_monotone ... ok
[INFO] [stdout] test wilson_half_width_decreases_with_proportional_scaling ... ok
[INFO] [stdout] test select_mab_chosen_is_always_member_of_arms ... ok
[INFO] [stdout] test coverage_only_returns_arms_below_quota ... ok
[INFO] [stdout] test hard_junk_never_exceeds_junk_in_summary ... ok
[INFO] [stdout] test all_rates_in_unit_interval ... ok
[INFO] [stdout] test soft_junk_rate_equals_junk_minus_hard ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.20s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/router_props.rs (/opt/rustwide/target/debug/deps/router_props-abdcdedd8ddca3bc)
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test router_delayed_junk_labeling_updates_windows ... ok
[INFO] [stdout] test router_from_snapshot_resets_cusum ... ok
[INFO] [stdout] test router_acknowledge_all_clears_all_alarmed ... ok
[INFO] [stdout] test router_k_larger_than_arm_count_saturates ... ok
[INFO] [stdout] test router_control_picks_subset_of_chosen ... ok
[INFO] [stdout] test router_full_triage_lifecycle ... ok
[INFO] [stdout] test router_snapshot_restores_monitored_windows ... ok
[INFO] [stdout] test router_summary_tracks_outcomes ... ok
[INFO] [stdout] test router_snapshot_restores_window_state ... ok
[INFO] [stdout] test router_snapshot_arms_match ... ok
[INFO] [stdout] test router_large_k_coverage_with_monitoring ... ok
[INFO] [stdout] test router_observe_never_panics ... ok
[INFO] [stdout] test router_without_triage_is_always_normal ... ok
[INFO] [stdout] test router_select_invariants ... ok
[INFO] [stdout] test router_select_is_deterministic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/scenarios.rs (/opt/rustwide/target/debug/deps/scenarios-b47a06dcffa47578)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test contextual_tracker_pick_k_targets_degraded_bins ... ok
[INFO] [stdout] test contextual_tracker_surfaces_localised_regression ... ok
[INFO] [stdout] test routing_lifecycle_normal_then_detect_then_triage ... ok
[INFO] [stdout] test sticky_reduces_switching_under_alternating_small_advantages ... ok
[INFO] [stdout] test select_mab_prefers_non_hard_junk_arm_when_window_is_hard_junk_heavy ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests muxer
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test src/router.rs - router::RouterSnapshot (line 789) - compile ... ok
[INFO] [stdout] test src/worst_first.rs - worst_first::context_bin (line 209) ... ok
[INFO] [stdout] test src/router.rs - router::Router (line 265) ... ok
[INFO] [stdout] test src/triage.rs - triage (line 42) ... ok
[INFO] [stdout] test src/alloc.rs - alloc::softmax_map (line 16) ... ok
[INFO] [stdout] test src/thompson.rs - thompson::ThompsonSampling::select_softmax_mean_with_probs (line 239) ... ok
[INFO] [stdout] test src/thompson.rs - thompson::ThompsonSampling::probability_best (line 166) ... ok
[INFO] [stdout] test src/policy.rs - policy::BanditPolicy (line 26) ... ok
[INFO] [stdout] test src/control.rs - control::pick_control_arms (line 65) ... ok
[INFO] [stdout] test src/utils.rs - utils::suggested_window_cap (line 22) ... ok
[INFO] [stdout] test src/monitor.rs - monitor::calibrate_cusum_threshold (line 1184) - compile ... ok
[INFO] [stdout] test src/lib.rs - select_mab (line 1126) ... ok
[INFO] [stdout] test src/exp3ix.rs - exp3ix::Exp3Ix::select_with_probs (line 419) ... ok
[INFO] [stdout] test src/worst_first.rs - worst_first::ContextualCoverageTracker (line 460) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.84s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "138866aa2f5d1dabe1e950aaea97473fe09ed61a2224f0775b19e08b4cb4d107", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "138866aa2f5d1dabe1e950aaea97473fe09ed61a2224f0775b19e08b4cb4d107", kill_on_drop: false }`
[INFO] [stdout] 138866aa2f5d1dabe1e950aaea97473fe09ed61a2224f0775b19e08b4cb4d107
